import { GLBufferAttribute } from "../../thirdparty/three/imports";

export class GLBufferAttribute3D
{
    _bufferAttribute: GLBufferAttribute;

    get array()
    {
        return this._bufferAttribute["array"] as number[];
    }

    get count()
    {
        return this._bufferAttribute.count;
    }

    static get(bufferAttribute: GLBufferAttribute)
    {
        let bufferAttribute3d = this._map.get(bufferAttribute);
        if (!bufferAttribute3d)
        {
            bufferAttribute3d = new GLBufferAttribute3D();
            bufferAttribute3d._bufferAttribute = bufferAttribute;
            GLBufferAttribute3D._map.set(bufferAttribute, bufferAttribute3d);
        }

        return bufferAttribute3d;
    }
    private static _map = new Map<GLBufferAttribute, GLBufferAttribute3D>();
}
